package com.study.manage.domain;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import com.study.manage.domain.enumm.EvaluateType;
import com.study.manage.domain.enumm.IfNeed;
import com.study.manage.domain.enumm.MediaType;
import com.study.manage.domain.enumm.ReleaseState;

@Entity
@Table(name = "sa_evaluate")
public class Evaluate extends AbstractEntity {

    private static final long serialVersionUID = 3629735113827979257L;

    public String title;
    public String coverUrl;
    public String description;
    public Date beginAt;
    public Date endAt;
    public Date signupEndAt;
    public Date voteEndAt;
    public String bannerUrl;
    public String area;
    public String labels;
    public IfNeed ifNeedParentInfo;
    public String parentInfoLabels;
    public MediaType uploadType = MediaType.PIC;
    public IfNeed ifNeedJury;
    public String detail;
    public String noticeDesc;
    public String notice;
    @Column(name = "typee")
    public EvaluateType type = EvaluateType.BiSai;
    public ReleaseState state = ReleaseState.Release;
    public String bigNotice;
    public String smallNotice;
    public String teacherBanner;
    public String succText;
    public Boolean ifNew = true;
    public Boolean ifNeedPay = true;
    public Boolean ifSignupLimit = false;
    public String timeInList;
    public String originalPrice;
    public Boolean ifAd = true;
    public IfNeed ifNeedVerify = IfNeed.Needless;
    public Double lng;
    public Double lat;
    public Date voteBeginAt;
    public Boolean ifPayVote;
    public String payVoteStr;
    public Boolean showTeacherList;
    public Boolean ifUploadWork;
    public Boolean ifApplyGroup;
    public String applyGroupStr;
    public String applyGroupAdv;
    public String applyGroupExt;
    public Long userId;
    public String titleExt;
    public String descriptionExt;
    public String bannerUrlExt;
    public String detailExt;
    public String teamLabels;
    public String teamUserLabels;
    public Boolean isTeamApply = false;
    public Float appendPrice = 0f;
    public String address;
    public Boolean isCanApply = true;

    public Evaluate() {}

    public Evaluate(Long id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Date getBeginAt() {
        return beginAt;
    }

    public void setBeginAt(Date beginAt) {
        this.beginAt = beginAt;
    }

    public Date getEndAt() {
        return endAt;
    }

    public void setEndAt(Date endAt) {
        this.endAt = endAt;
    }

    public Date getSignupEndAt() {
        return signupEndAt;
    }

    public void setSignupEndAt(Date signupEndAt) {
        this.signupEndAt = signupEndAt;
    }

    public Date getVoteEndAt() {
        return voteEndAt;
    }

    public void setVoteEndAt(Date voteEndAt) {
        this.voteEndAt = voteEndAt;
    }

    public String getBannerUrl() {
        return bannerUrl;
    }

    public void setBannerUrl(String bannerUrl) {
        this.bannerUrl = bannerUrl;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getLabels() {
        return labels;
    }

    public void setLabels(String labels) {
        this.labels = labels;
    }

    public IfNeed getIfNeedParentInfo() {
        return ifNeedParentInfo;
    }

    public void setIfNeedParentInfo(IfNeed ifNeedParentInfo) {
        this.ifNeedParentInfo = ifNeedParentInfo;
    }

    public String getParentInfoLabels() {
        return parentInfoLabels;
    }

    public void setParentInfoLabels(String parentInfoLabels) {
        this.parentInfoLabels = parentInfoLabels;
    }

    public MediaType getUploadType() {
        return uploadType;
    }

    public void setUploadType(MediaType uploadType) {
        this.uploadType = uploadType;
    }

    public IfNeed getIfNeedJury() {
        return ifNeedJury;
    }

    public void setIfNeedJury(IfNeed ifNeedJury) {
        this.ifNeedJury = ifNeedJury;
    }

    public String getDetail() {
        return detail;
    }

    public void setDetail(String detail) {
        this.detail = detail;
    }

    public String getNoticeDesc() {
        return noticeDesc;
    }

    public void setNoticeDesc(String noticeDesc) {
        this.noticeDesc = noticeDesc;
    }

    public String getNotice() {
        return notice;
    }

    public void setNotice(String notice) {
        this.notice = notice;
    }

    public EvaluateType getType() {
        return type;
    }

    public void setType(EvaluateType type) {
        this.type = type;
    }

    public ReleaseState getState() {
        return state;
    }

    public void setState(ReleaseState state) {
        this.state = state;
    }

    public String getBigNotice() {
        return bigNotice;
    }

    public void setBigNotice(String bigNotice) {
        this.bigNotice = bigNotice;
    }

    public String getSmallNotice() {
        return smallNotice;
    }

    public void setSmallNotice(String smallNotice) {
        this.smallNotice = smallNotice;
    }

    public String getTeacherBanner() {
        return teacherBanner;
    }

    public void setTeacherBanner(String teacherBanner) {
        this.teacherBanner = teacherBanner;
    }

    public String getSuccText() {
        return succText;
    }

    public void setSuccText(String succText) {
        this.succText = succText;
    }

    public Boolean getIfNew() {
        return ifNew;
    }

    public void setIfNew(Boolean ifNew) {
        this.ifNew = ifNew;
    }

    public Boolean getIfNeedPay() {
        return ifNeedPay;
    }

    public void setIfNeedPay(Boolean ifNeedPay) {
        this.ifNeedPay = ifNeedPay;
    }

    public Boolean getIfSignupLimit() {
        return ifSignupLimit;
    }

    public void setIfSignupLimit(Boolean ifSignupLimit) {
        this.ifSignupLimit = ifSignupLimit;
    }

    public String getTimeInList() {
        return timeInList;
    }

    public void setTimeInList(String timeInList) {
        this.timeInList = timeInList;
    }

}
